home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 8 / Eagles_Nest_Mac_Collection_Disc_8.TOAST / Developer Environments / AppMkr151#2 / Libraries / MPW / MacApp 2.0 / UAMLibraryM.h < prev    next >
Encoding:
Text File  |  1992-03-17  |  10.6 KB  |  308 lines  |  [TEXT/MPS ]

  1. // © 1991, Bowers Development Corp.
  2. // UAMLibraryM.h
  3.  
  4. //==========================================================
  5. // Classes to support AppMaker user interface items:         
  6. //                                                            
  7. // Class         (Subclass)        Description                    
  8. //----------------------------------------------------------
  9. // TGrayLine     (TView)        Gray line                    
  10. // TPalette         (TCtlMgr)        Palette                        
  11. // TPictButton     (TCtlMgr)        Picture button                
  12. // TPictCheckBox (TCtlMgr)        Picture check box            
  13. // TPictRadio      (TCtlMgr)        Picture radio button        
  14. // TMultiPict      (TCtlMgr)        Multi-picture control        
  15. // TSlider          (TCtlMgr)        Custom slider                
  16. // TCustomCntl      (TCtlMgr)        Other custom control        
  17. //==========================================================
  18.  
  19. #ifndef __UAMLibraryM__
  20. #define __UAMLibraryM__
  21.  
  22. #ifndef __UMacApp__
  23.     #include <UMacApp.h>
  24. #endif
  25.  
  26. const short kPaletteProcID        =          (200 * 16);            /* 3200 */
  27.  
  28. const short kPictButtonProcID    =        (201 * 16);            /* 3216 */
  29. const short kPictCheckProcID    =        (201 * 16) + 1;        /* 3217 */    
  30. const short kPictRadioProcID    =        (201 * 16) + 2;        /* 3218 */    
  31. const short kMultiPictProcID    =        (201 * 16) + 3;        /* 3219 */    
  32.  
  33. const short kSliderProcID            =   (202 * 16);
  34. const short kSliderGrayContinuousID    =    (202 * 16);            /* 3232 */
  35. const short kSliderIndContinuousID    =    (202 * 16) + 1;        /* 3233 */
  36. const short kSliderGrayDiscreteID    =    (202 * 16) + 2;        /* 3234 */
  37. const short kSliderIndDiscreteID     =    (202 * 16) + 3;        /* 3235 */
  38.  
  39. const short mMultiPictHit        = 101;
  40. const short mPaletteHit            = 102;
  41. const short mCustomHit            = 103;
  42. const short mSliderHit            = 104;
  43.  
  44.  
  45. /*----------*/
  46. pascal void ActionProcForTSlider    (ControlHandle        aCMgrControl,
  47.                                      short                partCode);
  48.  
  49. /*----------*/
  50. class TGrayLine : public TView {
  51.   public:
  52.   // no instance variables
  53.   // methods:
  54.     virtual pascal void Draw    (Rect        *area);        // override;
  55. }; /* TGrayLine */
  56.  
  57. /*----------*/
  58. struct PaletteTemplate {
  59.     short        itsPictureID;
  60.     short        itsNumberAcross;
  61.     short        itsNumberDown;
  62.     short        itsFrameSize;
  63. };
  64. typedef PaletteTemplate *PaletteTPtr;
  65.     
  66. /*----------*/
  67. class TPalette : public TCtlMgr {
  68.   public:
  69.   // no instance variables
  70.   // methods:
  71.     virtual pascal void IPalette    (TView                *itsSuperView,
  72.                                      VPoint                *itsLocation, 
  73.                                      VPoint             *itsSize,
  74.                                      SizeDeterminer        itsHSizeDet, 
  75.                                      SizeDeterminer        itsVSizeDet,
  76.                                      short                itsPictureID,
  77.                                      short                itsNumberAcross,
  78.                                      short                itsNumberDown,
  79.                                      short                itsFrameSize);
  80.     virtual pascal void IRes         (TDocument            *itsDocument,
  81.                                      TView                *itsSuperView,
  82.                                      Ptr                *itsParams);         // Override;                
  83.     virtual pascal void WRes        (ViewRsrcHndl        theResource,
  84.                                      Ptr                *itsParams);         // Override;                
  85.     virtual pascal void WriteRes    (ViewRsrcHndl        theResource,
  86.                                      Ptr                *itsParams);         // Override;                
  87.     virtual pascal void Fields        (pascal void (*DoToField)
  88.                                         (StringPtr        fieldName, 
  89.                                          Ptr            fieldAddr, 
  90.                                          short            fieldType, 
  91.                                          void            *DoToField_StaticLink),
  92.                                      void    *DoToField_StaticLink);            // Override;
  93. }; /* TPalette */
  94.  
  95. /*----------*/
  96. struct PictControlTemplate {
  97.     Str255        itsPictureIDs;
  98. };
  99. typedef PictControlTemplate *PictControlTPtr;
  100.  
  101. /*----------*/
  102. class TPictButton : public TCtlMgr {
  103.   public:
  104.   // no instance variables
  105.   // methods:
  106.     virtual pascal void IPictButton        (TView                *itsSuperView,
  107.                                          VPoint                *itsLocation, 
  108.                                          VPoint             *itsSize,
  109.                                          SizeDeterminer        itsHSizeDet, 
  110.                                          SizeDeterminer        itsVSizeDet,
  111.                                          StringPtr            itsPicts);    
  112.     virtual pascal void IRes            (TDocument            *itsDocument,
  113.                                          TView                *itsSuperView,
  114.                                          Ptr                *itsParams);     // Override;                
  115.     virtual pascal void WRes            (ViewRsrcHndl        theResource,
  116.                                          Ptr                *itsParams);     // Override;                
  117.     virtual pascal void WriteRes        (ViewRsrcHndl        theResource,
  118.                                          Ptr                *itsParams);     // Override;                
  119.     virtual pascal void Fields            (pascal void (*DoToField)
  120.                                             (StringPtr        fieldName, 
  121.                                              Ptr            fieldAddr, 
  122.                                              short            fieldType, 
  123.                                              void            *DoToField_StaticLink),
  124.                                          void    *DoToField_StaticLink);        // Override;
  125. }; /* TPictButton */
  126.  
  127. /*----------*/
  128. class TPictCheckBox    : public TCtlMgr {
  129.   public:
  130.   // no instance variables
  131.   // methods:
  132.     virtual pascal void IPictCheckBox    (TView                *itsSuperView,
  133.                                          VPoint                *itsLocation, 
  134.                                          VPoint             *itsSize,
  135.                                          SizeDeterminer        itsHSizeDet, 
  136.                                          SizeDeterminer        itsVSizeDet,
  137.                                          StringPtr            itsPicts,
  138.                                          Boolean            isTurnedOn);    
  139.     virtual pascal void IRes            (TDocument            *itsDocument,
  140.                                          TView                *itsSuperView,
  141.                                          Ptr                *itsParams);     // Override;            
  142.     virtual pascal void WRes            (ViewRsrcHndl        theResource,
  143.                                          Ptr                *itsParams);     // Override;            
  144.     virtual pascal void WriteRes        (ViewRsrcHndl        theResource,
  145.                                          Ptr                *itsParams);     // Override;            
  146.     virtual pascal void DoChoice        (TView                *origView,
  147.                                          short                itsChoice);        // Override;    
  148.     virtual pascal Boolean IsOn            (void);                                // Override;
  149.     virtual pascal void SetState        (Boolean            state,
  150.                                          Boolean            redraw);        // Override;
  151.     virtual pascal void Toggle            (Boolean            redraw);        // Override;
  152.     virtual pascal void ToggleIf        (Boolean            matchState,
  153.                                          Boolean            redraw);        // Override;
  154.     virtual pascal void Fields            (pascal void (*DoToField)
  155.                                             (StringPtr        fieldName, 
  156.                                              Ptr            fieldAddr, 
  157.                                              short            fieldType, 
  158.                                              void            *DoToField_StaticLink),
  159.                                          void    *DoToField_StaticLink);        // Override;
  160. }; /* TPictCheckBox */
  161.  
  162. /*----------*/
  163. class TPictRadio : public TCtlMgr {
  164.   public:
  165.   // no instance variables
  166.   // methods:
  167.     virtual pascal void IPictRadio    (TView                *itsSuperView,
  168.                                      VPoint                *itsLocation, 
  169.                                      VPoint             *itsSize,
  170.                                      SizeDeterminer        itsHSizeDet, 
  171.                                      SizeDeterminer        itsVSizeDet,
  172.                                      StringPtr            itsPicts,
  173.                                      Boolean            isTurnedOn);    
  174.     virtual pascal void IRes        (TDocument            *itsDocument,
  175.                                      TView                *itsSuperView,
  176.                                      Ptr                *itsParams);         // Override;            
  177.     virtual pascal void WRes        (ViewRsrcHndl        theResource,
  178.                                      Ptr                *itsParams);         // Override;            
  179.     virtual pascal void WriteRes    (ViewRsrcHndl        theResource,
  180.                                      Ptr                *itsParams);         // Override;            
  181.     virtual pascal void DoChoice    (TView                *origView,
  182.                                      short                itsChoice);            // Override;    
  183.     virtual pascal Boolean IsOn        (void);                                    // Override;
  184.     virtual pascal void SetState    (Boolean            state,
  185.                                      Boolean            redraw);            // Override;
  186.     virtual pascal void Toggle        (Boolean            redraw);            // Override;
  187.     virtual pascal void ToggleIf    (Boolean            matchState,
  188.                                      Boolean            redraw);            // Override;
  189.     virtual pascal void Fields        (pascal void (*DoToField)
  190.                                         (StringPtr        fieldName, 
  191.                                          Ptr            fieldAddr, 
  192.                                          short            fieldType, 
  193.                                          void            *DoToField_StaticLink),
  194.                                      void    *DoToField_StaticLink);            // Override;
  195. }; /* TPictRadio */
  196.  
  197. /*----------*/
  198. class TMultiPict : public TCtlMgr {
  199.   public:
  200.   // no instance variables
  201.   // methods:
  202.     virtual pascal void IMultiPict    (TView                *itsSuperView,
  203.                                      VPoint                *itsLocation, 
  204.                                      VPoint             *itsSize,
  205.                                      SizeDeterminer        itsHSizeDet, 
  206.                                      SizeDeterminer        itsVSizeDet,
  207.                                      StringPtr            itsPicts,
  208.                                      short                curValue);    
  209.     virtual pascal void IRes        (TDocument            *itsDocument,
  210.                                      TView                *itsSuperView,
  211.                                      Ptr                *itsParams);         // Override;            
  212.     virtual pascal void WRes        (ViewRsrcHndl        theResource,
  213.                                      Ptr                *itsParams);         // Override;            
  214.     virtual pascal void WriteRes    (ViewRsrcHndl        theResource,
  215.                                      Ptr                *itsParams);         // Override;            
  216.     virtual pascal void DoChoice    (TView                *origView,
  217.                                      short                itsChoice);            // Override;    
  218.     virtual pascal void Cycle        (Boolean            redraw);            // Override;
  219.     virtual pascal void Fields        (pascal void (*DoToField)
  220.                                         (StringPtr        fieldName, 
  221.                                          Ptr            fieldAddr, 
  222.                                          short            fieldType, 
  223.                                          void            *DoToField_StaticLink),
  224.                                      void    *DoToField_StaticLink);            // Override;
  225. }; /* TMultiPict */
  226.  
  227. /*----------*/
  228. struct SliderTemplate {
  229.     short        itsVariantCode;
  230.     Str255        itsPictureIDs;
  231. };
  232. typedef SliderTemplate *SliderTPtr;
  233.     
  234. /*----------*/
  235. class TSlider : public TCtlMgr {
  236.   public:
  237.   // instance variables:
  238.     VHSelect        fDirection;        // horizontal or vertical
  239.  
  240.   // methods:
  241.     virtual pascal void ISlider        (TView                *itsSuperView,
  242.                                      VPoint                *itsLocation, 
  243.                                      VPoint             *itsSize,
  244.                                      SizeDeterminer        itsHSizeDet, 
  245.                                      SizeDeterminer        itsVSizeDet,
  246.                                      VHSelect            itsDirection,
  247.                                      StringPtr            itsPicts,
  248.                                      short                itsProcID,
  249.                                      long                itsVal,
  250.                                      long                itsMin,
  251.                                      long                itsMax);    
  252.     virtual pascal void IRes         (TDocument            *itsDocument,
  253.                                      TView                *itsSuperView,
  254.                                      Ptr                *itsParams);         // Override;            
  255.     virtual pascal void WRes        (ViewRsrcHndl        theResource,
  256.                                      Ptr                *itsParams);         // Override;            
  257.     virtual pascal void WriteRes    (ViewRsrcHndl        theResource,
  258.                                      Ptr                *itsParams);         // Override;            
  259.     virtual pascal void DeltaValue    (VCoordinate        delta);                // Override;
  260.     virtual pascal TCommand* DoMouseCommand    (Point            *theMouse, 
  261.                                              EventInfo         *info, 
  262.                                              Point             *hysteresis);    // Override;    
  263.     virtual pascal void TrackSlider    (short            partCode);                // Override;
  264.     virtual pascal void ActionProc    (short            partCode);                // Override;
  265.     virtual pascal void Fields        (pascal void (*DoToField)
  266.                                         (StringPtr        fieldName, 
  267.                                          Ptr            fieldAddr, 
  268.                                          short            fieldType, 
  269.                                          void            *DoToField_StaticLink),
  270.                                     void    *DoToField_StaticLink);            // Override;
  271. }; /* TSlider */
  272.  
  273. /*----------*/
  274. struct CustomControlTemplate {
  275.     short        itsCntlID;
  276. };
  277. typedef CustomControlTemplate *CustomControlTPtr;
  278.     
  279. /*----------*/
  280. class TCustomCntl : public TCtlMgr {
  281.   public:
  282.   // instance variables:
  283.     short        fCntlID;
  284.  
  285.   // methods:
  286.     virtual pascal void ICustom        (TView                *itsSuperView,
  287.                                      VPoint                *itsLocation, 
  288.                                      VPoint             *itsSize,
  289.                                      SizeDeterminer        itsHSizeDet, 
  290.                                      SizeDeterminer        itsVSizeDet,
  291.                                      short                itsCntlID);    
  292.     virtual pascal void IRes        (TDocument            *itsDocument,
  293.                                      TView                *itsSuperView,
  294.                                      Ptr                *itsParams);         // Override;            
  295.     virtual pascal void WRes        (ViewRsrcHndl        theResource,
  296.                                      Ptr                *itsParams);         // Override;        
  297.     virtual pascal void WriteRes    (ViewRsrcHndl        theResource,
  298.                                      Ptr                *itsParams);         // Override;        
  299.     virtual pascal void Fields        (pascal void (*DoToField)
  300.                                         (StringPtr        fieldName, 
  301.                                          Ptr            fieldAddr, 
  302.                                          short            fieldType, 
  303.                                          void            *DoToField_StaticLink),
  304.                                      void    *DoToField_StaticLink);            // Override;
  305. }; /* TCustomCntl */
  306.  
  307. #endif /* UAMLibraryM.h */
  308.